﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MaquinaJMG.GUI.Contrato;
using Logica.Comandos.ComandosAdministracionCategoria;
using Logica.Comandos;
using Datos.Entidades;
using Logica.FabricaLogica;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos;

namespace MaquinaJMG.GUI.Presentador
{
    public class PresentadorEliminarParticipante
    {
        List<Entidad> losParticipantes = new List<Entidad>();
        private IContratoEliminarParticipante _eliminarParticipantes;

        /// <summary>
        /// Constructor de la clase
        /// </summary>
        /// <param name="eliminarParticipamte">
        /// Datos de la página de eliminarParticipantes requeridos para eliminarla
    
        /// </param>
        public PresentadorEliminarParticipante (IContratoEliminarParticipante eliminarParticipante)
        {
            _eliminarParticipantes = eliminarParticipante;
        }

        /// <summary>
        /// Código a ejecutar cuando el usuario presiona el botón ELIMINAR
        /// para eliminar una Participante
        /// </summary>
        /// <returns>Si la operación fue exitosa o no</returns>
        public string ClickEliminar()
        {
            int idParticipante = _eliminarParticipantes.participante.SelectedIndex;
            Comando comando = FabricaComandoParticipante.CrearComandoEliminarParticipante(idParticipante);
            comando.Ejecutar();
            obtenerParticipantes();
            if (!comando.Flag)

                return "No se ha podido eliminar el Participante!";
        else

            return "El Participante fue eliminado con éxito!";
        }

        public void obtenerParticipantes()
        {
            Comando comando = FabricaComandoParticipante.CrearComandoListarParticipante();
            comando.Ejecutar();
            losParticipantes = comando.ListaEntidad;
            if (losParticipantes != null)
            {

                for (int i = 0; i < losParticipantes.Count; i++)
                {

                    _eliminarParticipantes.participante.Items.Add((losParticipantes.ElementAt(i) as Participante).NombreParticipante);
                  

                }
                _eliminarParticipantes.participante.DataBind();
                
            }
               
        }
    }
}